#ifndef _SYS_UNSUPPORTED_ERR_H_
#define _SYS_UNSUPPORTED_ERR_H_

#include "Err.h"
#include "SysTypes.h"

#define UNSUPPORTED_ERR_VTABLE(self)   ((UnsupportedErrVTable*)((FanObj*)self)->vtable)


extern Type*    UnsupportedErr_classType;
extern VTable*  UnsupportedErr_classVTable;


/* [sys::UnsupportedErr] Attributes */
struct UnsupportedErr
{
  Err           super;
};


/* [sys::UnsupportedErr] Virtual-table */
typedef struct UnsupportedErrVTable
{
  ErrVTable     super;
} UnsupportedErrVTable;


/* [sys::UnsupportedErr] Methods and fields */
void            UnsupportedErr_make_0(UnsupportedErr* self);
void            UnsupportedErr_make_1(UnsupportedErr* self, Str* msg);
void            UnsupportedErr_make(UnsupportedErr* self, Str* msg, Err* cause);


/* [sys::UnsupportedErr] Extra methods */
UnsupportedErr* UnsupportedErr_new(Str* msg, Err* cause);
UnsupportedErr* UnsupportedErr_newWithFormattedMsg(const char* msgFormat, ...);


/* [sys::UnsupportedErr] Type-system functions */
Type*           UnsupportedErr_initType(void);
VTable*         UnsupportedErr_initVTable(void);
void            UnsupportedErr_initStatic(void);


#endif
